import logging

logger = logging.getLogger("payment")

status = {

    -1: '系统繁忙，请稍候再试',
    0: '操作成功',
    30000: "验证码频繁发送",

    40000: 'token值无效',
    40001: '参数传入错误',
    40002: '帐号类型错误',
    40003: 'openid为空',
    40004: '含有非法字符',
    40005: '缺少重要参数',
    40006: '设备离线',
    40007: "命令重试失败",

    41001: '数据插入失败',
    41002: '数据更新失败',
    41003: '数据删除失败',
    41004: '数据查询失败',
    41005: '外键不存在',
    41006: '数据库操作失败',

    43001: '需要GET请求',
    43002: '需要POST请求',
    43003: '请求错误',

    44001: 'Token创建失败',
    44002: 'Token已失效',

    45001: '设备不存在',
    45002: '用户坐标不存在',
    45003: '附近没有符合要求的设备',
    45004: '设备不属于此厂商',
    45005: '设备离线了',
    45006: '暂不支持该类型的设备',

    46001: '支付费用不一致',
    46002: '数据库交易记录不存在',
    46003: '数据库存在多条交易记录',
    46004: '订单号为空',
    46005: '信息验证失败',
    46006: '交易出错',
    46007: '交易状态错误',
    46008: '订单已处理',
    46009: '订单号不存在',
    46010: '请勿重复提交',
    46011: '微信传输码错误',
    46012: '微信交易码错误',
    46013: '订单创建失败',
    46014: '该设备合伙人无法支付',
    46015: '支付金额不能小于等于0',

    47001: '洗涤命令发送失败',
    47002: '预约命令发送失败',
    47003: '设备正在使用',
    47004: '设备异常',
    47005: '启动失败',
    47006: '标志位错误',
    47007: '预约已超时，请重新预约！',
    48008: '锁定命令发送失败',

    48001: '退款申请失败',
    48002: '未支付成功不可以申请退款',

    49001: '合伙人ID不存在',
    49002: '设备别名不存在',
    49003: '合伙人账号未配置',
    49004: '商户私钥格式错误',

    50001: '文件md5值计算出错',
    50002: '压缩文件出错',
    50003: '设备未响应，请联系管理员',
    50004: '设备忙,请稍后再试',

    60001: '邀请码保存失败',
    60002: '邀请码不可以为空',
    60003: '邀请码为7位字母数字',
    60004: '邀请码错误',
    60005: '邀请码失效或被禁用',
    60006: '邀请码不可以重复绑定',
    60007: '邀请码记录不存在',

    70001: '充值记录生成失败',
    70002: '充值账户被禁用',
    70003: '充值账户不存在',
    70004: '充值账户余额不足',
    70005: '余额支付失败',
    70006: '充值金额错误',

    80001: '该用户已存在',
    80002: '帐号不匹配邮箱或手机',
    80003: '注册失败',
    80004: '密码不能为空',
    80005: '帐号或密码错误',
    80006: '输入长度大于限定的值',

}


def weixin_response_message(return_code, return_message):
    """
    构造一个xml格式的文件用于处理完微信支付结果通知的返回值
    :param return_code: 返回状态码 （SUCCESS/FAIL SUCCESS表示商户接收通知成功并校验成功）
    :param return_message: 返回信息, 如非空, 为错误原因: 签名失败;参数格式校验错误
    :return:
    """
    return '<xml><return_code><![CDATA[%s]]></return_code><return_msg><![CDATA[%s]]></return_msg></xml>' \
           % (return_code, return_message)


def wechat_resp(status_code):
    if status_code == 0:
        return_code = 'SUCCESS'
        return_message = 'OK'
    else:
        return_code = 'FAIL'
        return_message = status[status_code]
    return weixin_response_message(return_code, return_message)


if __name__ == '__main__':
    # rs = weixin_response_message('SUCCESS', 'ok')
    # print(rs)
    res = wechat_resp(40003)
    print(res)
    pass
